package com.snapan.service;

import com.snapan.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户表服务接口
 */
public interface UserService {

    /**
     * 根据ID查询
     */
    User getById(Long id);

    /**
     * 查询所有
     */
    List<User> getAll();

    /**
     * 添加
     */
    boolean add(User user);

    /**
     * 更新
     */

    int update(String username,String avatar,Long id);

    /**
     * 删除
     */
    boolean delete(Long id);

    /**
     * 统计用户已使用空间（字节）
     */
    Long getUsedSpace(Long userId);

    /**
     * 获取用户总空间（字节）
     */
    Long getTotalSpace(Long userId);

    boolean existsByEmail(String email);

    /**
     * 用户注册
     * @param user 用户信息
     * @return 注册后的用户信息
     */
    Integer register(User user);

    User selectByEmailAndPassword(@Param("email") String email, @Param("password") String password);
    /**
     * 根据邮箱修改密码
     * @param email 邮箱
     * @param newPassword 原始新密码（未加密）
     */
    int updatePasswordByEmail(String email, String newPassword);



}




















